package main

import "fmt"

func main() {
	// 定义空接口切片
	arr := make([]interface{}, 3)
	arr[0] = 111
	arr[1] = 222.222
	arr[2] = "hello"

	// 判断类型
	for k, v := range arr {
		// 断言语法：数据.(类型)
		// 返回值：数据，是否为该类型
		var data interface{}
		var yes bool
		data, yes = v.(int)
		if yes {
			fmt.Printf("索引为%d的", k)
			fmt.Printf("值[%d]是整数类型\n", data)
		}
		data, yes = v.(float64)
		if yes {
			fmt.Printf("索引为%d的", k)
			fmt.Printf("值[%f]是小数类型\n", data)
		}
		data, yes = v.(string)
		if yes {
			fmt.Printf("索引为%d的", k)
			fmt.Printf("值[%s]是字符串类型\n", data)
		}

	}
}
